//
// Created by xili on 2024/8/9 21:46.
// Go big or go home.
//
#include "leetcode.h"

class Solution {
public:
    int minNumber(vector<int> &nums1, vector<int> &nums2) {
        //如果两个数组中有相同的数字，返回最小的相同的数字
        //否则返回两个数组最小的数字中最小的是十位，较大的个位
        vector<int> ans(11);
        int n = nums1.size();
        int m = nums2.size();
        int min1 = 10;
        int min2 = 10;
        int k = max(n, m);
        for (int i = 0; i < k; i++) {
            if (i < n) {
                ans[nums1[i]]++;
                min1 = min(min1, nums1[i]);
            }
            if (i < m) {
                ans[nums2[i]]++;
                min2 = min(min2, nums2[i]);
            }
        }
        for (int i = 1; i < 11; i++) {
            if (ans[i] == 2) {
                return i;
            }
        }
        return min1 < min2 ? min1 * 10 + min2 : min2 * 10 + min1;
    }
};